-- @Author: 作者QQ381990860
-- @Date:   2021-11-05 10:34:34
-- @Last Modified by:   作者QQ381990860
-- @Last Modified time: 2022-07-23 06:59:03

local 商会唤兽管理 = class()
local tp,zts,zts1
local insert = table.insert
local tos = 引擎.取金钱颜色
local mouseb = 引擎.鼠标弹起
local bw = require("gge包围盒")(0,0,230,20)
local bw1 = require("gge包围盒")(0,0,230,20)
local box = 引擎.画矩形
function 商会唤兽管理:初始化(根)
  self.ID = 144
  self.x = 0
  self.y = 0
  self.xx = 0
  self.yy = 0
  self.注释 = "商会唤兽管理"
  self.可视 = false
  self.鼠标 = false
  self.焦点 = false
  self.可移动 = true
  local 资源 = 根.资源
  local 按钮 = 根._按钮
  local 自适应 = 根._自适应
  self.窗口时间 = 0
  tp = 根
 self.资源组 = {
    [1] = 自适应.创建(0,1,588,429,3,9),
    --[1] = 资源:载入('JM.dll',"网易WDF动画",0x57CBA2BE),
    [2] = 按钮.创建(自适应.创建(18,4,16,16,4,3),0,0,4,true,true),
  [3] = 按钮.创建(自适应.创建(11,4,45,20,1,3),0,0,4,true,true,"改名"),
  [4] = 按钮.创建(自适应.创建(11,4,45,20,1,3),0,0,4,true,true,"上间"),
  [5] = 按钮.创建(自适应.创建(11,4,45,20,1,3),0,0,4,true,true,"下间"),
  [6] = 按钮.创建(自适应.创建(11,4,45,20,1,3),0,0,4,true,true,"上柜"),
  [7] =  按钮.创建(自适应.创建(11,4,75,20,1,3),0,0,4,true,true,"更改宗旨"),



  [12] =  按钮.创建(自适应.创建(11,4,75,20,1,3),0,0,4,true,true,"出售登记"),
  [13] =  按钮.创建(自适应.创建(11,4,75,20,1,3),0,0,4,true,true,"扩张柜台"),
  [14] =  按钮.创建(自适应.创建(11,4,75,20,1,3),0,0,4,true,true,"取出资金"),
  [15] =  按钮.创建(自适应.创建(11,4,75,20,1,3),0,0,4,true,true,"暂停营业"),
  [16] =  按钮.创建(自适应.创建(11,4,75,20,1,3),0,0,4,true,true,"放回身上"),
  [17] = 自适应.创建(3,1,10,18,1,3),
  [18] =  自适应.创建(2,1,257,75,3,9),
  [19] =  自适应.创建(2,1,241,209,3,9),
  [20] =  自适应.创建(2,1,241,209,3,9),
  }

  for n=2,7 do
     self.资源组[n]:绑定窗口_(144)
  end
  for n=12,16 do
     self.资源组[n]:绑定窗口_(144)
  end

 self.玩家道具={}
 self.玩家选中=0
 self.商会道具={}
 self.商会选中=0
  self.控件类 = require("ggeui/加载类")()
  local 总控件 = self.控件类:创建控件('商店总控件')
  总控件:置可视(true,true)
  self.上柜银两输入=总控件:创建输入("数量输入11",self.x + 190,self.y + 379,100,14)
  self.上柜银两输入:置数字模式()
  self.上柜银两输入:置限制字数(9)
  self.上柜银两输入:置文字颜色(0xFF000000)
  self.上柜银两输入:置可视(false,false)
  self.商铺宗旨输入=总控件:创建输入("数量输入22",self.x +429,self.y + 92,245,16)
  self.商铺宗旨输入:置可视(false,false)
  self.商铺宗旨输入:置限制字数(34)
  self.商铺宗旨输入:置文字颜色(0xFF000000)
  self.商铺改名输入=总控件:创建输入("数量输入33",self.x +158,self.y + 85,109,16)
  self.商铺改名输入:置可视(false,false)
  self.商铺改名输入:置限制字数(14)
  self.商铺改名输入:置文字颜色(0xFF000000)


  zts = tp.字体表.普通字体
  zts1 = tp.字体表.描边字体
end

function 商会唤兽管理:打开(数据)
  if  self.可视 then
    self.可视 = false
    self.玩家道具={}
    self.玩家选中=0
    self.商会道具={}
    self.商会选中=0

  else

  if  self.x > 全局游戏宽度 then
  self.x = 0
  end
  self.玩家道具={}
  self.玩家选中=0
  self.商会道具={}
  self.商会选中=0
  insert(tp.窗口_,self)
  self.店铺信息=数据
  self.当前店面=1
  self.物品数据={}
  self.物品数据1={}
  self.商铺改名输入:置文本(self.店铺信息.店名)
  self.商铺改名输入:置可视(true,"商铺改名输入")
  self.商铺宗旨输入:置文本(self.店铺信息.宣言)
  self.商铺宗旨输入:置可视(true,"商铺改名输入")
  if self.店铺信息.营业==false then
  self.资源组[15]:置文字("开始营业")
  else
  self.资源组[15]:置文字("暂停营业")
  end

    tp.运行时间 = tp.运行时间 + 3
    self.窗口时间 = tp.运行时间
    self.可视 = true
  end
end
function 商会唤兽管理:刷新柜台道具(数据)
    self.当前店面=数据.类型
    self.商会选中=0
    self.物品数据1={}
    self.物品数据1=数据
    self.物品数据1.类型=nil
 end
function 商会唤兽管理:刷新玩家道具(数据)
    self.玩家选中=0
    self.物品数据={}
    self.物品数据=数据
 end
function 商会唤兽管理:显示(dt,x,y)
  self.焦点=false
  self.商铺改名输入:置坐标(self.x,self.y)
  self.上柜银两输入:置坐标(self.x,self.y)
  self.商铺宗旨输入:置坐标(self.x,self.y)
  self.资源组[3]:更新(x,y)
  self.资源组[4]:更新(x,y)
  self.资源组[5]:更新(x,y)
  self.资源组[6]:更新(x,y)
  self.资源组[2]:更新(x,y)

 self.资源组[12]:更新(x,y)
 self.资源组[13]:更新(x,y)

 self.资源组[16]:更新(x,y)
 self.资源组[15]:更新(x,y)
 self.资源组[7]:更新(x,y)

 self.资源组[14]:更新(x,y)

  if self.资源组[2]:事件判断() then
    self:打开()
  elseif self.资源组[3]:事件判断() then
    if self.商铺改名输入:取文本()=="" then
    tp.提示:写入("#y/请先取个店名")
    else
    客户端:发送数据(983,134,36,self.商铺改名输入:取文本(),1)
    end
  elseif self.资源组[7]:事件判断() then
    if self.商铺宗旨输入:取文本()=="" then
    tp.提示:写入("#y/宗旨总不能什么话都没有吧")
    else
    客户端:发送数据(761,135,36,self.商铺宗旨输入:取文本(),1)
    end
  elseif self.资源组[13]:事件判断() then
    客户端:发送数据(275,136,36,"8A",1)
     self:打开()
  elseif self.资源组[12]:事件判断() then
    if self.玩家选中==0 then
    tp.提示:写入("#y/请先选中一个召唤兽")
    else
    客户端:发送数据(self.玩家选中,133,36,self.当前店面,1)
    end
  elseif self.资源组[6]:事件判断() then
      if self.商会选中==0 then
      tp.提示:写入("#y/请先选中一个召唤兽")
      elseif self.上柜银两输入:取文本()=="" or self.上柜银两输入:取文本()+0<1 then
      tp.提示:写入("#y/请先输入价格")
      else
      客户端:发送数据(self.商会选中,self.当前店面,37,self.上柜银两输入:取文本(),2)
      end
  elseif self.资源组[16]:事件判断() then
      if self.商会选中==0 then
       tp.提示:写入("#y/请先选中一个召唤兽")
      else
      客户端:发送数据(self.商会选中,137,36,self.当前店面,1)
      end
  elseif self.资源组[15]:事件判断() then
      客户端:发送数据(87842,138,36,"1",1)
  elseif self.资源组[4]:事件判断() then
      客户端:发送数据(2,127,36,self.当前店面,1)
  elseif self.资源组[5]:事件判断() then
      客户端:发送数据(2,128,36,self.当前店面,1)
  elseif self.资源组[14]:事件判断() then
      客户端:发送数据(2,129,36,"1",1)
  end
 self.资源组[1]:显示(self.x+100,self.y+50)
 self.资源组[19]:显示(self.x+115,self.y+161)
 self.资源组[20]:显示(self.x+420,self.y+205)

  tp.窗口标题背景_:显示(self.x+322,self.y+50)
  zts1:显示(self.x+394-45,self.y+51,"商会唤兽管理")



  self.资源组[18]:显示(self.x+423,self.y+78,true)

  self.资源组[17]:置宽高(120,18)
  self.资源组[17]:显示(self.x+150,self.y+83,true)
  self.资源组[17]:置宽高(50,18)
  self.资源组[17]:显示(self.x+330,self.y+108,true)
  self.资源组[17]:显示(self.x+147,self.y+448,true)

  self.资源组[17]:置宽高(100,18)
  self.资源组[17]:显示(self.x+180,self.y+135,true)

  self.资源组[17]:置宽高(80,18)
  self.资源组[17]:显示(self.x+328,self.y+135,true)
  self.资源组[17]:置宽高(85,18)
  self.资源组[17]:显示(self.x+510,self.y+160,true)
  self.资源组[17]:显示(self.x+510,self.y+185,true)

  self.资源组[17]:置宽高(110,18)
  self.资源组[17]:显示(self.x+180,self.y+377,true)

  self.资源组[17]:置宽高(200,18)
  self.资源组[17]:显示(self.x+460,self.y+421,true)

 zts:置颜色(0xFFFFFFFF):显示(self.x+115,self.y+85,"店名")
  zts:置颜色(0xFFFFFFFF):显示(self.x+115,self.y+110,"开店日期")
 zts:置颜色(0xFFFFFFFF):显示(self.x+295,self.y+110,"类型")
  zts:置颜色(0xFFFFFFFF):显示(self.x+115,self.y+137,"店主名称")
  zts:置颜色(0xFFFFFFFF):显示(self.x+290,self.y+137,"ID 号")

  zts:置颜色(0xFFFFFFFF):显示(self.x+115,self.y+379,"出售单价")
  zts:置颜色(0xFFFFFFFF):显示(self.x+115,self.y+403,"商业指数")
  zts:置颜色(0xFFFFFFFF):显示(self.x+115,self.y+425,"交易税率")
  zts:置颜色(0xFFFFFFFF):显示(self.x+115,self.y+450,"店面")

  zts:置颜色(0xFFFFFFFF):显示(self.x+422,self.y+162,"基础运营资金")
  zts:置颜色(0xFFFFFFFF):显示(self.x+422,self.y+187,"日常运营资金")
  zts:置颜色(0xFFFFFFFF):显示(self.x+423,self.y+423,"现金")


 zts:置颜色(0xFFFFFFFF):显示(self.x+189,self.y+110,self.店铺信息.创店日期)
 zts:置颜色(tos(self.店铺信息.现金+0)):显示(self.x+468,self.y+424,self.店铺信息.现金)
 zts:置颜色(0xFFFFFFFF):显示(self.x+185,self.y+403,"0%")
 zts:置颜色(0xFFFFFFFF):显示(self.x+185,self.y+424,"10%")
 zts:置颜色(0xFF000000):显示(self.x+333,self.y+110,self.店铺信息.类型.."店")
 zts:置颜色(0xFF000000):显示(self.x+186,self.y+137,self.店铺信息.店主名称)
 zts:置颜色(0xFF000000):显示(self.x+334,self.y+138,self.店铺信息.店主id)
 zts:置颜色(0xFF000000):显示(self.x+513,self.y+162,self.店铺信息.基础运营资金)
 zts:置颜色(0xFF000000):显示(self.x+513,self.y+187,self.店铺信息.日常运营资金)
 zts:置颜色(0xFF000000):显示(self.x+157,self.y+450,self.当前店面.."/"..self.店铺信息.店面)


 self.资源组[3]:显示(self.x+300,self.y+82,true)
 self.资源组[4]:显示(self.x+200,self.y+446,true)
 self.资源组[5]:显示(self.x+250,self.y+446,true)
 self.资源组[6]:显示(self.x+315,self.y+375,true)
 self.资源组[2]:显示(self.x+669,self.y+53,true)

 self.资源组[16]:显示(self.x+300,self.y+413,true)
 self.资源组[13]:显示(self.x+300,self.y+446,true)

 self.资源组[12]:显示(self.x+436,self.y+448,true)
 self.资源组[15]:显示(self.x+556,self.y+448,true)
 self.资源组[7]:显示(self.x+605,self.y+159,true)
 self.资源组[14]:显示(self.x+605,self.y+184,true)

  if self.资源组[19]:是否选中(x,y) or self.资源组[20]:是否选中(x,y) then
     self.焦点1=true
  else
     self.焦点1=nil
  end

self.控件类:更新(dt,x,y)
self.控件类:显示(x,y)
  if self.商铺改名输入._已碰撞 or self.上柜银两输入._已碰撞 or self.商铺宗旨输入._已碰撞 then
    self.焦点 = true
  end

  self:玩家道具显示(dt,x,y)
  self:柜台道具显示(dt,x,y)
end

function 商会唤兽管理:玩家道具显示(dt,x,y)
      for i=1,#self.物品数据 do
        if self.物品数据[i]~=nil then
            zts:置颜色(-16777216)
            local jx = self.x+431
            local jy = self.y+195+i*20
            bw:置坐标(jx-4,jy-3)
            local xz = bw:检查点(x,y)
            if self.玩家选中 ~= i then
                if  xz and not tp.消息栏焦点 and self.鼠标 then
                   box(jx-5,jy-6,jx+226,jy+15,-3551379)
                    if mouseb(0) then
                        self.玩家选中 = i
                    end
                end
            else
                if  xz and not tp.消息栏焦点 and self.鼠标 then
                    if mouseb(0)  then
                      客户端:发送数据(self.玩家选中,133,36,self.当前店面,1)
                    elseif mouseb(1)  then
                      tp.窗口.召唤兽查看栏:打开(self.物品数据[i])
                    end
                end
                box(jx-5,jy-6,jx+226,jy+15,-10790181)
            end
            zts:置颜色(0xFF000000):显示(jx,jy-2,self.物品数据[i].名称)
       end
    end
 end

function 商会唤兽管理:柜台道具显示(dt,x,y)
      for i=1,#self.物品数据1 do
        if self.物品数据1[i].道具~=nil then
            zts:置颜色(-16777216)
            local jx = self.x+126
            local jy = self.y+151+i*20
            bw1:置坐标(jx-4,jy-3)
            local xz = bw1:检查点(x,y)
            if self.商会选中 ~= i then
                if  xz and not tp.消息栏焦点 and self.鼠标 then
                  box(jx-5,jy-6,jx+226,jy+15,-3551379)
                    if mouseb(0) then
                      self.商会选中=i
                      self.上柜银两输入:置可视(true,true)
                      self.上柜银两输入:置文本(self.物品数据1[i].价格)
                        if self.物品数据1[i].状态 then
                          self.资源组[6]:置文字("下柜")
                        else
                          self.资源组[6]:置文字("上柜")
                        end
                    end
                end
            else
                if  xz and not tp.消息栏焦点 and self.鼠标 then
                    if mouseb(0) then
                      客户端:发送数据(self.商会选中,137,36,self.当前店面,1)
                    elseif mouseb(1)  then
                      tp.窗口.召唤兽查看栏:打开(self.物品数据1[i].道具)    
                    end
                end
                box(jx-5,jy-6,jx+226,jy+15,-10790181)
            end
            if self.物品数据1[i].状态 then
                zts:置颜色(0xFF00FF40):显示(jx,jy-2,self.物品数据1[i].道具.名称)
            else
                zts:置颜色(0xFF000000):显示(jx,jy-2,self.物品数据1[i].道具.名称)
            end
       end
    end
 end


function 商会唤兽管理:检查点(x,y)
  if self.资源组[1]:是否选中(x,y)  then
    return true
  end
end

function 商会唤兽管理:初始移动(x,y)
  tp.运行时间 = tp.运行时间 + 1
  self.窗口时间 = tp.运行时间
  if not self.焦点 then
    tp.移动窗口 = true
  end
  if self.鼠标 and  not self.焦点 then
    self.xx = x - self.x
    self.yy = y - self.y
  end
end

function 商会唤兽管理:开始移动(x,y)
  if self.鼠标 then
    self.x = x - self.xx
    self.y = y - self.yy
  end
end



return 商会唤兽管理